home *** CD-ROM | disk | FTP | other *** search
/ Classic Games for OS/2 Warp / Classic Games for OS2 Warp (1995)(IBM).iso / fpdesk.cmd < prev    next >
OS/2 REXX Batch file  |  1995-07-19  |  3KB  |  80 lines

  1. /* Rebuild All FUNPAK folders & icons */
  2.  
  3. rc = RxFuncAdd( "SysCreateObject", "RexxUtil", "SysCreateObject" )
  4. rc = RxFuncAdd( "SysCreateShadow", "RexxUtil", "SysCreateShadow" )
  5. rc = RxFuncAdd( "SysSetObjectData", "RexxUtil", "SysSetObjectData" )
  6. rc = RxFuncAdd( "SysOpenObject", "RexxUtil", "SysOpenObject" )
  7. rc = RxFuncAdd( "SysDriveMap", "RexxUtil", "SysDriveMap" )
  8. rc = RxFuncAdd( "SysFileTree", "RexxUtil", "SysFileTree" )
  9. rc = RxFuncAdd( "SysDriveInfo", "RexxUtil", "SysDriveInfo" )
  10.  
  11. Dir = "\FUNPAK"
  12.  
  13. Class  = "WPFolder"
  14. Title  = "Family FunPak"
  15. Loc    = "<WP_DESKTOP>"
  16. Setup  = "OBJECTID=<FPFOLDER>" || ,
  17.          ";ICONFILE=" || Dir || "\FUNPAK0.ICO" || ,
  18.          ";ICONNFILE=1," || Dir || "\FUNPAK1.ICO"
  19. Opts   = "Replace"
  20.  
  21. call SysCreateObject Class, Title, Loc, Setup, Opts
  22. call SysOpenObject "<FPFOLDER>", "Icon", "0"
  23.  
  24. /* Search Drives for home Dir: */
  25. Map = SysDriveMap( , "LOCAL" )
  26.  
  27. Done.0 = 0                       /*Keep track of which objects were created*/
  28. Uninst = 0
  29.  
  30. Do I=1 to Words(Map)
  31.    Drive = Strip( Word(Map, I) )
  32.    Say "Drive = " || Drive
  33.  
  34.    Say "SysDriveInfo() returns: " || SysDriveInfo(Drive)
  35.  
  36.    /* Check if Drive is Accessable */
  37.    If ( (SysDriveInfo(Drive) \= "" ) & ,
  38.         (Strip(Word(SysDriveInfo, 2)) \= "0") ) then Do
  39.  
  40.       /* get directories under home dir: */
  41.       rc = SysFileTree( Drive || Dir || "\*.*", "File.", "DO" )
  42.       Do J=1 to File.0
  43.  
  44.          /* Add UnInstall Program! and animated icons */
  45.          If (Uninst == 0) then do
  46.             ok = SysCreateShadow( Drive || Dir || "\UNINST.CMD", "<FPFOLDER>" )
  47.             Uninst = 1
  48.  
  49.             IconSetup = "ICONFILE=" || Drive || Dir || "\FUNPAK0.ICO" || ,
  50.                         ";ICONNFILE=1," || Drive || Dir || "\FUNPAK1.ICO"
  51.  
  52.             ok = SysSetObjectData( "<FPFOLDER>", IconSetup )
  53.  
  54.             End
  55.  
  56.          /* Check is this app was already added */
  57.          P = LastPos( "\", File.J )
  58.          AppName = Right( File.J, Length(File.J)-P )
  59.          IsDone = 0
  60.          Do K = 1 to Done.0
  61.             If (AppName == Done.K ) then
  62.                IsDone = 1
  63.             End
  64.  
  65.          /* Find "MAKEOBJ.CMD" under subdirs of home dir: */
  66.          If (IsDone == 0) & ( SysFileTree( File.J || "\MAKEOBJ.CMD", "FO" ) == 0 ) then Do
  67.             /* MakeObj.cmd found; run it to create OBJs for all apps */
  68.             "@call " || File.J || "\MAKEOBJ.CMD"
  69.  
  70.             /* Add this app to the done list */
  71.             X = Done.0 + 1
  72.             Done.X = AppName
  73.             Done.0 = Done.0 + 1
  74.             End
  75.          End                                                         /*Do J*/
  76.  
  77.       End
  78.    End
  79.  
  80.